// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.

package org.jetbrains.kotlin.idea.k2.highlighting;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode;
import org.jetbrains.kotlin.idea.base.test.TestRoot;
import org.jetbrains.kotlin.idea.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.idea.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith;

/**
 * This class is generated by {@link org.jetbrains.kotlin.testGenerator.generator.TestGenerator}.
 * DO NOT MODIFY MANUALLY.
 */
@SuppressWarnings("all")
@TestRoot("highlighting/highlighting-k2")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@TestMetadata("../../idea/tests/testData/exitPoints")
public class K2HighlightExitPointsTestGenerated extends AbstractK2HighlightExitPointsTest {
    @java.lang.Override
    @org.jetbrains.annotations.NotNull
    public final KotlinPluginMode getPluginMode() {
        return KotlinPluginMode.K2;
    }

    private void runTest(String testDataFilePath) throws Exception {
        KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
    }

    @TestMetadata("anonymousFunction.kt")
    public void testAnonymousFunction() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/anonymousFunction.kt");
    }

    @TestMetadata("anonymousFunction2.kt")
    public void testAnonymousFunction2() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/anonymousFunction2.kt");
    }

    @TestMetadata("doWhileLoopBreak.kt")
    public void testDoWhileLoopBreak() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/doWhileLoopBreak.kt");
    }

    @TestMetadata("doWhileLoopBreak2.kt")
    public void testDoWhileLoopBreak2() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/doWhileLoopBreak2.kt");
    }

    @TestMetadata("forLoopBreak.kt")
    public void testForLoopBreak() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/forLoopBreak.kt");
    }

    @TestMetadata("forLoopNestedBreak.kt")
    public void testForLoopNestedBreak() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/forLoopNestedBreak.kt");
    }

    @TestMetadata("forLoopNestedBreak2.kt")
    public void testForLoopNestedBreak2() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/forLoopNestedBreak2.kt");
    }

    @TestMetadata("forLoopNestedLabeledBreak.kt")
    public void testForLoopNestedLabeledBreak() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/forLoopNestedLabeledBreak.kt");
    }

    @TestMetadata("forLoopNestedLabeledBreak2.kt")
    public void testForLoopNestedLabeledBreak2() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/forLoopNestedLabeledBreak2.kt");
    }

    @TestMetadata("forLoopNestedLabeledBreakOnLoop.kt")
    public void testForLoopNestedLabeledBreakOnLoop() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/forLoopNestedLabeledBreakOnLoop.kt");
    }

    @TestMetadata("forLoopNestedLabeledBreakOnLoop2.kt")
    public void testForLoopNestedLabeledBreakOnLoop2() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/forLoopNestedLabeledBreakOnLoop2.kt");
    }

    @TestMetadata("funKeyword.kt")
    public void testFunKeyword() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/funKeyword.kt");
    }

    @TestMetadata("funKeyword2.kt")
    public void testFunKeyword2() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/funKeyword2.kt");
    }

    @TestMetadata("funKeyword3.kt")
    public void testFunKeyword3() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/funKeyword3.kt");
    }

    @TestMetadata("funKeyword31.kt")
    public void testFunKeyword31() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/funKeyword31.kt");
    }

    @TestMetadata("funName.kt")
    public void testFunName() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/funName.kt");
    }

    @TestMetadata("getter.kt")
    public void testGetter() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/getter.kt");
    }

    @TestMetadata("getter2.kt")
    public void testGetter2() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/getter2.kt");
    }

    @TestMetadata("getter3.kt")
    public void testGetter3() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/getter3.kt");
    }

    @TestMetadata("inLambda.kt")
    public void testInLambda() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/inLambda.kt");
    }

    @TestMetadata("inLambda1.kt")
    public void testInLambda1() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/inLambda1.kt");
    }

    @TestMetadata("inLambda2.kt")
    public void testInLambda2() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/inLambda2.kt");
    }

    @TestMetadata("inLambdaAndUsages.kt")
    public void testInLambdaAndUsages() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/inLambdaAndUsages.kt");
    }

    @TestMetadata("inLambdaLastStatement1.kt")
    public void testInLambdaLastStatement1() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/inLambdaLastStatement1.kt");
    }

    @TestMetadata("inLambdaLastStatement2.kt")
    public void testInLambdaLastStatement2() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/inLambdaLastStatement2.kt");
    }

    @TestMetadata("inLambdaLastStatement3.kt")
    public void testInLambdaLastStatement3() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/inLambdaLastStatement3.kt");
    }

    @TestMetadata("inLambdaLastStatement4.kt")
    public void testInLambdaLastStatement4() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/inLambdaLastStatement4.kt");
    }

    @TestMetadata("inLambdaLastStatement5.kt")
    public void testInLambdaLastStatement5() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/inLambdaLastStatement5.kt");
    }

    @TestMetadata("inLambdaLastStatement6.kt")
    public void testInLambdaLastStatement6() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/inLambdaLastStatement6.kt");
    }

    @TestMetadata("inUnitLambdaLastStatement.kt")
    public void testInUnitLambdaLastStatement() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/inUnitLambdaLastStatement.kt");
    }

    @TestMetadata("inline1.kt")
    public void testInline1() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/inline1.kt");
    }

    @TestMetadata("inline2.kt")
    public void testInline2() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/inline2.kt");
    }

    @TestMetadata("inline3.kt")
    public void testInline3() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/inline3.kt");
    }

    @TestMetadata("inlineLocalReturn1.kt")
    public void testInlineLocalReturn1() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/inlineLocalReturn1.kt");
    }

    @TestMetadata("inlineLocalReturn2.kt")
    public void testInlineLocalReturn2() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/inlineLocalReturn2.kt");
    }

    @TestMetadata("inlineLocalReturn3.kt")
    public void testInlineLocalReturn3() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/inlineLocalReturn3.kt");
    }

    @TestMetadata("inlineWithNoInlineParam.kt")
    public void testInlineWithNoInlineParam() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/inlineWithNoInlineParam.kt");
    }

    @TestMetadata("invalidReturn.kt")
    public void testInvalidReturn() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/invalidReturn.kt");
    }

    @TestMetadata("invalidThrow.kt")
    public void testInvalidThrow() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/invalidThrow.kt");
    }

    @TestMetadata("localFunction1.kt")
    public void testLocalFunction1() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/localFunction1.kt");
    }

    @TestMetadata("localFunction2.kt")
    public void testLocalFunction2() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/localFunction2.kt");
    }

    @TestMetadata("localFunctionThrow.kt")
    public void testLocalFunctionThrow() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/localFunctionThrow.kt");
    }

    @TestMetadata("notInline1.kt")
    public void testNotInline1() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/notInline1.kt");
    }

    @TestMetadata("notInline2.kt")
    public void testNotInline2() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/notInline2.kt");
    }

    @TestMetadata("notInline3.kt")
    public void testNotInline3() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/notInline3.kt");
    }

    @TestMetadata("notReturnedLabeledExpression.kt")
    public void testNotReturnedLabeledExpression() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/notReturnedLabeledExpression.kt");
    }

    @TestMetadata("returnIfStatement.kt")
    public void testReturnIfStatement() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/returnIfStatement.kt");
    }

    @TestMetadata("returnTryStatement.kt")
    public void testReturnTryStatement() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/returnTryStatement.kt");
    }

    @TestMetadata("returnWhenStatement.kt")
    public void testReturnWhenStatement() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/returnWhenStatement.kt");
    }

    @TestMetadata("simple.kt")
    public void testSimple() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/simple.kt");
    }

    @TestMetadata("throw1.kt")
    public void testThrow1() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/throw1.kt");
    }

    @TestMetadata("throw2.kt")
    public void testThrow2() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/throw2.kt");
    }

    @TestMetadata("whileLoopBreak.kt")
    public void testWhileLoopBreak() throws Exception {
        runTest("../../idea/tests/testData/exitPoints/whileLoopBreak.kt");
    }
}
